Rsync数据同步及同步方式 |
您所在的位置:网站首页 › rsync 同步目录下所有文件 › Rsync数据同步及同步方式 |
Rsync(Remote Sync)是Linux下一款应用软件,利用它可以使多台服务器数据保持同步一致,第一次同步rsync会复制全部内容,但在下一次只传输修改过的文件。 Rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。可以很容易做到保持原来文件的权限、事件、硬软链接等。 案例:A 源服务器 -------安装Rsync服务端 B、C 客户端服务器 -------安装Rsync客户端,由客户端发起同步操作 B、C服务器需要从A同步某个目录到本地1、源服务器A 编译安装Rsync wget -c -P /src/ https://rsync.samba.org/ftp/rsync/src/rsync-3.1.2.tar.gz tar zxvf /src/rsync-3.1.2.tar.gz -C /src/ cd /src/rsync-3.1.2 ./configure --prefix=/usr/local/rsync make && make install 2、源服务器A 配置 基于Rsync密钥方式同步及配置 默认/etc不存在rsyncd.conf配置文件,需要手动创建,配置内容如下: #########[global] 全局配置 uid = nobody gid = nobody use chroot = yes max connections = 5 pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log transfer logging = yes log format = %t %a %m %f %b syslog facility = local3 timeout = 300 [www] read only = yes path = /usr/local/webapps comment = www auth users =test secrets file = /etc/rsync.pas hosts allow = 192.168.0.11,192.168.0.12 [web] read only = yes path = /data/www/web comment = web auth users =test secrets file = /etc/rsync.pas hosts allow = 192.168.1.11,192.168.0.0/24 Rsync配置参数说明: [www] #要同步的模块名 path = /usr/local/webapps #要同步的目录 comment = www #这个名名称无所谓,最后模块名一致 read only = no # no客户端可上传文件,yes只读 write only = no # no客户端可下载文件,yes不能下载 list = yes #是否提供资源列表 auth users =test #登陆系统使用的用户名,没有默认为匿名。 hosts allow = 192.168.0.10,192.168.0.20 #本模块允许通过的IP地址 hosts deny = 192.168.1.4 #禁止主机IP secrets file=/etc/rsync.pas #密码文件存放的位置 启动服务器端Rsync主进程 /usr/local/rsync/bin/rsync --daemon 监听端口 TCP 873 设置rsync服务器端同步密钥 vim /etc/rsync.pas username:userpasswd #表示用户名:密码 test:test999保存完毕,chmod 600 /etc/rsync.pas 设置权限为宿主用户读写 3、客户端服务器配置 同步密钥和命令,如下设置即可同步 vi /etc/rsync.pas 输入服务器端配置的密码 test999 保存完毕,chmod 600 /etc/rsync.pas 设置权限为宿主用户读写;开始同步,执行如下语句:rsync -aP --delete [email protected]::www/usr/local/webapps --password-file=/etc/rsync.pas rsync -aP --delete [email protected]::web /data/www/web --password-file=/etc/rsync.pas 注: /usr/local/webapps 为客户端的目录,@前 test是认证的用户名;IP后面www为rsync服务器端的模块名称。Rsync 常用参数解析: -a, ––archive 归档模式,表示以递归方式传输文件,并保持所有文件属性。 ––exclude=PATTERN 指定排除一个不需要传输的文件匹配模式 ––exclude-from=FILE 从 FILE 中读取排除规则 ––include=PATTERN 指定需要传输的文件匹配模式 --delete 删除那些接收端还有而发送端已经不存在的文件 -P 等价于 ––partial ––progress -v, ––verbose 详细输出模式 -q, ––quiet 精简输出模式 -p --perms保持perms属性(权限,不包括特殊权限)-z传输时进行压缩提高效率––rsyncpath=PROGRAM 指定远程服务器上的 rsync 命令所在路径 ––password-file=FILE 从 FILE 中读取口令,以避免在终端上输入口令, 通常在 cron 中连接 rsync 服务器时使用 4、测试 在客户端上执行以下命令进行数据同步: rsync -arv [email protected]::test /usr/local/src/ --password-file=/etc/rsync.pas -------------------------------------------------------------------------------------------------- Rsync基于ssh同步 除了可以使用rsync密钥进行同步之外,还有一个比较简单的同步方法就是基于linux ssh来同步。具体方法如下: rsync -aP --delete [email protected]:/data/www/webapps/data/www/webapps 如果不想每次同步都输入密码,需要做Linux主机之间免密码登录 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |